package com.transpot.entry.order;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 接收前端数据对象
 */
@Data
public class OrderDTO {
    /**
     * 订单基本信息主键
     */
    private Integer id;
    /**
     * 起始地
     */
    private String start;
    /**
     * 目的地
     */
    private String end;
    /**
     * 是否上门提货
     */
    private String isCollect;
    /**
     * 提货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")                    // 表示返回时间类型
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")      // 表示接收时间类型
    private Date requiredDate;
    /**
     * 货品类型
     */
    private String itemType;
    /**
     * 客户单号
     */
    private String customerNo;
    /**
     * 面单号
     */
    private String trackingNumber;
    /**
     * 订单备注
     */
    private String remark;
    /**
     * 货源单号
     */
    private String orderNumber;
    /**
     * 发货人姓名
     */
    private String shipperName;
    /**
     * 发货人联系人
     */
    private String shipperLinkMan;
    /**
     * 发货人联系手机
     */
    private String shipperPhone;
    /**
     * 发货人联系电话
     */
    private String shipperTelephone;
    /**
     * 发货地址
     */
    private String shippingAddress;
    /**
     * 客户编码
     */
    private String shipperCustomerCode;
    /**
     * 合同签订主体
     */
    private String shipperContractSubject;
    /**
     * 项目名称
     */
    private String shipperProjectName;
    /**
     * 收货人姓名
     */
    private String consigneeName;
    /**
     * 收货方联系人
     */
    private String consigneeLinkMan;
    /**
     * 收货人手机
     */
    private String consigneePhone;
    /**
     * 收货人电话
     */
    private String consigneeTelephone;
    /**
     * 收货地址
     */
    private String deliveryAddress;
    /**
     * 运输费
     */
    private double transportation;
    /**
     * 保险费
     */
    private double premium;
    /**
     * 代收款
     */
    private double cod;
    /**
     * 代收款费用
     */
    private double collectionFee;
    /**
     * 包装费
     */
    private double packing;
    /**
     * 上楼费
     */
    private double upstairsFee;
    /**
     * 装赁费
     */
    private double rentalFee;
    /**
     * 卸货费
     */
    private double discharge;
    /**
     * 提货费
     */
    private double pickChange;
    /**
     * 中转费
     */
    private double interchangeFee;
    /**
     * 送货费
     */
    private double deliveryFee;
    /**
     * 仓储费
     */
    private double godownChange;
    /**
     * 燃油附加费
     */
    private double fuelSurcharge;
    /**
     * 其他费用
     */
    private double otherCharge;
    /**
     * 其他费用说明
     */
    private String explain;
    /**
     * 现付款
     */
    private double cashPayment;
    /**
     * 回付款
     */
    private double backPayment;
    /**
     * 到付款
     */
    private double carriageForward;
    /**
     * 周期付
     */
    private double periodicPayment;
    /**
     * 预付
     */
    private double advance;
    /**
     * 货物信息
     */
    List<OrderGoods> productData;
    /**
     * 司机
     */
    private Integer driver;
    /**
     * 车辆
     */
    private Integer car;
}
